package model;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;


public class Jogador implements Serializable{
	
	private static final long serialVersionUID = 1L;
	private String nome;
	private String ip;
	private int porta;
	private boolean ocupado = false;
	
	private ArrayList<Carta> deck;
	
	public Jogador(String nome){
		this.nome = nome;
		this.deck = new ArrayList<Carta>();
	}
	
	@Override
	public String toString() {
		return "Jogador [nome=" + nome + ", ip=" + ip + ", porta=" + porta + "]";
	}
	
	public String getNome() {
		return this.nome;
	}
	
	public String getIp() {
		return ip;
	}

	public void setIp(String ip) {
		this.ip = ip;
	}
	
	public void setPorta(int porta){
		this.porta = porta;
	}
	
	public int getPorta() {
		return this.porta;
	}

	public boolean isOcupado() {
		return ocupado;
	}

	public void setOcupado(boolean ocupado) {
		this.ocupado = ocupado;
	}

	public void addCarta(Carta carta) {
		this.deck.add(carta);
	}
	
	public Carta removeCarta() {
		return this.deck.remove(0);
	}
	
	public Carta getCarta() {
		try {
			return this.deck.get(0);
		} catch (IndexOutOfBoundsException e) {
			return null;
		}
	}
	
	public int getDeckSize() {
		return this.deck.size();
	}
	
	public boolean isDeckEmpyt() {
		return this.deck.isEmpty();
	}
	
	public void sort() {
		Collections.shuffle(deck);
	}
}
